Feat/yaml dsl - #9
Merged
Merged
Conversation
[中文] - 改动: - 代理监控页移除默认演示数据,改为后端数据驱动,并动态加载串口端口列表。 - 新增代理配置保存校验(端口必填、端口不可相同)与表单错误提示。 - 修复资源/版本路径与打包数据(含 VERSION)以提升打包运行一致性。 - 协议解析订阅改为 comm.rx,抓包引擎补充连接类型兼容处理。 - 前端复制能力增加通用降级实现,移除过时 TODO 注释。 - 影响范围: - 代理监控、打包后运行资源定位、版本显示、抓包链路、复制交互。 - 兼容性/行为变化: - 代理页初始不再展示硬编码示例数据;仅展示真实配置数据。 - 依赖/环境: - 无新增外部依赖。 - 验证: - 已执行 `ui/frontend` 下 `npm run build` 并通过。 [English] - Changes: - Reworked proxy monitor to use backend-driven data and dynamic serial port options. - Added validation and inline error feedback for proxy pair save actions. - Fixed runtime resource/version path resolution and included VERSION in packaging inputs. - Switched protocol parsing subscription to `comm.rx` and aligned capture channel type handling. - Added clipboard fallback helper and removed stale TODOs. - Impact: - Proxy monitor behavior, packaged runtime consistency, capture pipeline, and copy UX. - Compatibility/Behavior changes: - Proxy monitor no longer shows hardcoded demo items by default. - Dependencies/Environment: - No new external dependencies. - Verification: - Ran `npm run build` in `ui/frontend` successfully. Refs: - .where-agent-progress.md
[中文] - 改动: - 在 .gitignore 中新增 AGENTS.md 忽略规则。 - 影响范围: - 仅影响 Git 跟踪行为,不影响运行时功能。 - 兼容性/行为变化: - AGENTS.md 不再出现在未跟踪文件列表。 - 依赖/环境: - 无。 - 验证: - 已通过 git status --short 验证。 [English] - Changes: - Added AGENTS.md ignore rule in .gitignore. - Impact: - Git tracking behavior only; no runtime impact. - Compatibility/Behavior changes: - AGENTS.md no longer appears as an untracked file. - Dependencies/Environment: - None. - Verification: - Verified with git status --short. Refs: - AGENTS.md
[中文] - 变更内容: - 新增串口代理转发管理器,支持 hostPort/devicePort 双向桥接与会话生命周期管理 - WebBridge 接入 proxy manager,代理开关/删除/更新行为与真实会话联动 - 监听 proxy.status 回写代理对状态,错误信息持久化 - 抓包引擎接入 proxy.data,将代理转发流量转为 capture.frame - 同步更新 Where 计划文档,标记本轮闭环进展 - 影响范围: - 代理监控从 UI 假状态切换为后端真实运行状态 - 抓包面板可采集代理转发链路数据 - 兼容性/行为变化: - 本阶段仍不涉及 TCP 开发,仅覆盖串口代理链路 - 依赖/环境: - 依赖 pyserial 进行串口转发 - 验证: - 使用 python -m py_compile 校验相关 Python 文件语法通过 - 运行 npm run build 构建前端通过 [English] - Changes: - Added a serial proxy forward manager for bidirectional host/device relay. - Integrated WebBridge proxy controls with real start/stop session actions. - Persist proxy.status updates back into pair status/error fields. - Wired proxy.data into packet capture pipeline as capture.frame events. - Updated Where plan doc with current closure progress. - Impact: - Proxy monitor now reflects runtime state instead of static UI flags. - Capture view can ingest forwarded proxy traffic. - Compatibility/Behavior changes: - No TCP feature changes in this phase; serial proxy path only. - Dependencies/Environment: - Requires pyserial for forwarding sessions. - Verification: - Python syntax check passed via py_compile. - Frontend build passed via npm run build. Refs: - .where-agent-progress.md
[中文] - 变更内容: - proxy.data 事件新增 src_role/dst_role 与 host_port/device_port 字段 - 抓包引擎优先按角色判定 RX/TX,避免无目标通道时方向误判 - 未指定目标通道时,抓包通道优先归一为 host_port - 更新 Where 计划,标记 3.1 已完成 - 影响范围: - 代理抓包列表与方向图标语义更稳定,跨代理场景更一致 - 兼容性/行为变化: - 保持原有 target_channel 过滤逻辑不变 - 依赖/环境: - 无新增依赖 - 验证: - py_compile 通过(proxy_forward_manager.py, packet_engine.py) - npm run build 通过 [English] - Changes: - Added src_role/dst_role and host_port/device_port in proxy.data events. - Prefer role-based RX/TX mapping in capture to avoid direction drift. - Normalize capture channel to host_port when no target channel is set. - Updated Where plan to mark item 3.1 complete. - Impact: - Proxy capture direction and channel semantics are now consistent. - Compatibility/Behavior changes: - Existing target_channel filtering behavior remains unchanged. - Dependencies/Environment: - No new dependencies. - Verification: - py_compile passed for modified Python files. - Frontend build passed via npm run build. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 代理卡片状态映射补齐 error 语义(图标、路由状态、文案) - 卡片新增错误提示区,显示后端 error 文本并提供默认排障提示 - 新增卡片级一键重试按钮,直接触发代理重启 - 更新 Where 计划并标记 4.1 完成 - 影响范围: - 代理异常可见性提升,用户可在卡片内完成首次恢复动作 - 兼容性/行为变化: - 不改变代理创建/编辑/删除行为,仅增强异常态交互 - 依赖/环境: - 无新增依赖 - 验证: - npm run build 通过 [English] - Changes: - Completed error-state mapping in proxy cards (icon/route/status labels). - Added an inline error hint area with backend error text and fallback guidance. - Added a one-click retry action on proxy error cards. - Updated Where plan and marked item 4.1 as done. - Impact: - Proxy failures are now visible and recoverable directly from the card UI. - Compatibility/Behavior changes: - No change to create/edit/delete flow; only error-state UX enhancements. - Dependencies/Environment: - No new dependencies. - Verification: - Frontend build passed via npm run build. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 代理对新增 desiredActive 持久化字段,记录用户期望运行状态 - 启动时执行代理会话恢复:按 desiredActive 尝试重连并回写 running/stopped/error - 加载代理配置时规范化 status/error 字段,清理历史脏值 - 应用退出时统一 stop_all,避免残留会话导致冷启动状态漂移 - 更新 Where 计划并标记 5.1 完成 - 影响范围: - 代理状态在异常退出与冷启动场景下更一致,可恢复性更好 - 兼容性/行为变化: - 旧配置会在首次加载时自动补齐/规范化字段 - 依赖/环境: - 无新增依赖 - 验证: - py_compile 通过(web_bridge.py/main_web.py) - npm run build 通过 [English] - Changes: - Added desiredActive persistence for proxy pairs as the intended runtime state. - Restored proxy sessions on startup based on desiredActive and recalculated status. - Normalized proxy pair status/error during load to clean legacy invalid states. - Stopped all proxy sessions on app shutdown to avoid stale runtime leftovers. - Updated Where plan and marked item 5.1 complete. - Impact: - Proxy behavior is now more consistent across crashes and cold starts. - Compatibility/Behavior changes: - Legacy saved configs are auto-normalized on first load. - Dependencies/Environment: - No new dependencies. - Verification: - py_compile passed for modified backend files. - Frontend build passed via npm run build. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 新增 scripts/proxy_regression.py:支持双向转发验证、事件一致性校验、可选 soak 压测 - 新增 docs/PROXY_REGRESSION.md:提供端口拓扑、执行命令、结果判定与故障排查 - 更新 Where 计划:6.1 工具与流程完成,6.2 真实设备执行待验证 - 影响范围: - 形成可复现的代理回归入口,降低发版前人工回归成本 - 兼容性/行为变化: - 无运行时行为变更,仅新增测试与文档能力 - 依赖/环境: - 运行脚本需 pyserial(requirements.txt 已包含) - 验证: - .venv Python 下 py_compile 通过 - 脚本 --help 可正常输出 [English] - Changes: - Added scripts/proxy_regression.py for bidirectional forwarding checks, event consistency, and optional soak tests. - Added docs/PROXY_REGRESSION.md with topology, commands, pass/fail criteria, and troubleshooting. - Updated Where plan: 6.1 tooling done, 6.2 hardware execution pending. - Impact: - Introduces a reproducible proxy regression entrypoint for release gating. - Compatibility/Behavior changes: - No runtime behavior change; test/docs only. - Dependencies/Environment: - Script requires pyserial (already in requirements.txt). - Verification: - py_compile passed under .venv Python. - Script --help output verified. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 新增 scripts/setup_proxy_test_env.ps1,用于一键检查回归测试环境 - 检查项包括 .venv Python、pyserial、com0com 驱动注册表、串口枚举 - 在 docs/PROXY_REGRESSION.md 增加环境检查入口与说明 - 更新 Where 计划,标记 6.2.0 已完成 - 影响范围: - 降低虚拟串口回归前置准备成本,减少环境问题排查时间 - 兼容性/行为变化: - 无运行时逻辑变更,仅测试流程与文档增强 - 依赖/环境: - 仍需手动安装 com0com 驱动(需管理员权限) - 验证: - setup_proxy_test_env.ps1 已实机执行通过 [English] - Changes: - Added scripts/setup_proxy_test_env.ps1 for one-shot regression environment checks. - Checks include .venv Python, pyserial, com0com registry presence, and serial port listing. - Updated docs/PROXY_REGRESSION.md with the environment bootstrap command. - Updated Where plan and marked item 6.2.0 complete. - Impact: - Reduces setup friction and troubleshooting time before virtual serial regression. - Compatibility/Behavior changes: - No runtime behavior change; test workflow/docs only. - Dependencies/Environment: - com0com driver still needs manual admin-level installation. - Verification: - setup_proxy_test_env.ps1 executed successfully on local machine. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 新增 scripts/proxy_regression_mock.py:纯 Python 模拟串口回归,不依赖 com0com - 新增 scripts/install_virtual_serial_env.ps1:虚拟串口安装与建对脚本(支持 Chocolatey 引导) - 修订 docs/PROXY_REGRESSION.md,补充无驱动模拟回归入口 - 更新 Where 计划,记录模拟回归通过(基础 + 30 轮稳定性) - 影响范围: - 在驱动受限场景下仍可验证代理转发核心链路,降低测试阻塞 - 兼容性/行为变化: - 无业务运行时改动,仅测试与环境脚本增强 - 依赖/环境: - 模拟脚本无需额外驱动;真实端口回归仍需 com0com/真实设备 - 验证: - proxy_regression_mock.py 单次执行通过 - 连续 30 轮执行通过(30/30) - Python/PowerShell 语法检查通过 [English] - Changes: - Added scripts/proxy_regression_mock.py for pure-Python proxy regression without com0com. - Added scripts/install_virtual_serial_env.ps1 for virtual serial setup with optional Chocolatey bootstrap. - Updated docs/PROXY_REGRESSION.md with mock regression instructions. - Updated Where plan to record mock regression pass (single run + 30-run stability). - Impact: - Unblocks core forwarding validation when kernel driver installation is unavailable. - Compatibility/Behavior changes: - No runtime behavior changes; test/environment tooling only. - Dependencies/Environment: - Mock regression needs no driver; hardware/virtual-port regression still requires driver or devices. - Verification: - Mock regression passed in single run and 30-run loop. - Python and PowerShell syntax checks passed. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 新增 docs/FUNCTION_ACCEPTANCE_CHECKLIST.md(功能验收清单) - 新增 docs/P0_REGRESSION_CASES.md(P0 回归用例) - 新增 scripts/run_proxy_regression.ps1(统一 mock/real 回归入口) - 更新 Where 计划,交付物第 8 项打勾 - 影响范围: - 形成可执行验收标准与统一回归入口,降低验收沟通成本 - 兼容性/行为变化: - 无运行时逻辑变更,仅文档与测试入口增强 - 依赖/环境: - mock 模式无需驱动;real 模式仍需真实端口或虚拟串口驱动 - 验证: - run_proxy_regression.ps1 语法检查通过 - run_proxy_regression.ps1 -Mode mock 执行通过 [English] - Changes: - Added docs/FUNCTION_ACCEPTANCE_CHECKLIST.md for P0 functional acceptance. - Added docs/P0_REGRESSION_CASES.md with reproducible regression cases. - Added scripts/run_proxy_regression.ps1 as a unified mock/real regression entrypoint. - Updated Where plan and marked deliverables in section 8 as complete. - Impact: - Provides executable acceptance criteria and a single regression command path. - Compatibility/Behavior changes: - No runtime behavior changes; docs and test entry improvements only. - Dependencies/Environment: - Mock mode requires no driver; real mode still requires serial ports/driver. - Verification: - PowerShell syntax check passed. - Mock regression command executed successfully. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 升级 proxy_regression_mock.py:支持参数化迭代、soak、断连故障注入 - run_proxy_regression.ps1 支持 mock 参数透传(Iterations/SoakSec/InjectDisconnect) - 文档更新:补充 mock 增强回归命令与预期 - Where 计划同步:标记 6.2.2a/6.2.3a 模拟验证通过 - 影响范围: - 在无真实端口环境下可覆盖异常断连和长稳场景,降低测试阻塞 - 兼容性/行为变化: - 无业务运行时变更,仅测试能力增强 - 依赖/环境: - mock 仍不依赖外部驱动 - 验证: - run_proxy_regression.ps1 -Mode mock -Iterations 30 -SoakSec 10 通过 - run_proxy_regression.ps1 -Mode mock -InjectDisconnect 通过 - py_compile 通过 [English] - Changes: - Enhanced proxy_regression_mock.py with parameterized loops, soak test, and disconnect fault injection. - Added mock argument passthrough in run_proxy_regression.ps1. - Updated docs with advanced mock commands and expected outcomes. - Synced Where plan with simulated 6.2.2a/6.2.3a completion. - Impact: - Enables failure/soak validation without real serial hardware. - Compatibility/Behavior changes: - No runtime behavior changes; test tooling only. - Dependencies/Environment: - Mock path still requires no external driver. - Verification: - Mock soak and disconnect scenarios passed. - Python syntax check passed. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 重写 communication_manager.py(清理编码异常)并保持原有职责 - 增加 serial.opened -> comm.connected 桥接,修复串口自动重连后的状态不同步 - 调整串口选择流程:先注册 current session,再 open,避免 opened 回调缺少上下文 - 更新 Where 计划,标记 7.1a 完成 - 影响范围: - 自动重连成功后,UI 通道状态可正确恢复到 connected - 兼容性/行为变化: - 不引入 TCP 新功能;本次仅修复串口链路状态同步 - 依赖/环境: - 无新增依赖 - 验证: - py_compile 通过(communication_manager.py) - mock 回归(含 soak/断连注入)通过 [English] - Changes: - Rewrote communication_manager.py to clean encoding issues while preserving behavior. - Added serial.opened -> comm.connected bridge for reconnect status recovery. - Updated serial selection flow to register current session before opening. - Synced Where plan with 7.1a completion. - Impact: - UI channel state now correctly returns to connected after serial auto-reconnect. - Compatibility/Behavior changes: - No TCP feature expansion; serial status-sync fix only. - Dependencies/Environment: - No new dependencies. - Verification: - py_compile passed for communication_manager.py. - Mock regression (including soak and disconnect injection) passed. Refs: - .where-agent-progress.md
[中文] - 变更内容: - communication_manager 增加 serial.closed/tcp.disconnected 到 comm.disconnected 的一致桥接 - close(notify=False) 路径增加抑制标记,避免内部切换时误发 disconnected - select_tcp 仅在会话连接成功后发布 comm.connected - 新增 scripts/comm_manager_regression_mock.py 覆盖 comm 连接/断开事件序列 - 更新 P0 回归用例文档与 Where 计划,标记 7.1 完成 - 影响范围: - 串口/TCP 在关闭与重连路径上的 comm 状态事件更一致,UI 状态抖动降低 - 兼容性/行为变化: - 无 TCP 新功能,仅修复事件时序与状态一致性 - 依赖/环境: - 无新增依赖 - 验证: - comm_manager_regression_mock.py 通过 - mock 回归(含 soak/断连注入)通过 [English] - Changes: - Added consistent serial.closed/tcp.disconnected -> comm.disconnected bridging. - Added suppression guard for close(notify=False) to avoid false disconnect events. - Published comm.connected for TCP only when connection is actually established. - Added scripts/comm_manager_regression_mock.py for comm event sequence regression. - Updated P0 regression docs and Where plan to mark 7.1 complete. - Impact: - More stable and consistent comm state transitions on close/reconnect paths. - Compatibility/Behavior changes: - No TCP feature expansion; event-order consistency fixes only. - Dependencies/Environment: - No new dependencies. - Verification: - comm_manager_regression_mock.py passed. - Mock regression suite (soak + disconnect injection) passed. Refs: - .where-agent-progress.md
[中文] - 变更内容: - packet_engine 解析器补充异常帧错误码:FRAME_TOO_SHORT / CRC_INVALID / LENGTH_INVALID - 解析树增加 payload 长度与 CRC 计算值,便于定位异常 - 前端抓包映射按 errors 高亮异常帧(不再仅依赖 protocol.unknown) - 新增 scripts/packet_engine_regression.py 覆盖正常/异常帧解析回归 - 更新验收清单、P0 回归用例与 Where 计划,标记 7.2 完成 - 影响范围: - 协议异常帧在列表与详情可被稳定识别并提示 - 兼容性/行为变化: - 不新增 TCP 功能,仅增强协议解析与异常提示 - 依赖/环境: - 无新增依赖 - 验证: - packet_engine_regression.py 通过 - run_proxy_regression.ps1 -Mode mock(含 soak/断连)通过 - npm run build 通过 [English] - Changes: - Added malformed-frame diagnostics in packet_engine (FRAME_TOO_SHORT/CRC_INVALID/LENGTH_INVALID). - Added payload length and CRC(calc) rows in protocol tree output. - Updated capture UI mapping to mark frames with parser errors as warning/error tone. - Added scripts/packet_engine_regression.py for parser regression coverage. - Updated acceptance/regression docs and Where plan to mark 7.2 complete. - Impact: - Malformed protocol frames are now consistently identified and surfaced in UI. - Compatibility/Behavior changes: - No TCP scope change; parser/error-visibility enhancement only. - Dependencies/Environment: - No new dependencies. - Verification: - Parser regression script passed. - Mock regression suite passed. - Frontend build passed. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 重写 script_runner_qt.py(清理编码问题)并保留原执行能力 - 临时 YAML 文件写入改为 UTF-8,修复中文环境编码异常 - 增加生命周期状态信号:__running__/__finished__/__stopped__/__error__ - 前端 script_state 处理支持生命周期状态,避免仅依赖日志文本推断 - 新增 scripts/script_runner_regression.py 覆盖正常/停止/异常三条路径 - 更新验收清单、P0 回归用例与 Where 计划,标记 7.3 完成 - 影响范围: - DSL 启动/停止/异常状态回传更稳定,中文环境脚本执行更可靠 - 兼容性/行为变化: - 无 TCP 功能变更;DSL 状态事件更明确 - 依赖/环境: - 无新增依赖 - 验证: - script_runner_regression.py 通过 - npm run build 通过 [English] - Changes: - Rewrote script_runner_qt.py to remove encoding pitfalls while preserving behavior. - Switched temp YAML writing to UTF-8 to prevent locale-dependent failures. - Added explicit lifecycle states: __running__/__finished__/__stopped__/__error__. - Updated frontend script_state handling to consume explicit lifecycle states. - Added scripts/script_runner_regression.py for success/stop/error path regression. - Updated acceptance docs and Where plan to mark 7.3 complete. - Impact: - More reliable DSL run-state feedback and better stability in Chinese Windows environments. - Compatibility/Behavior changes: - No TCP scope changes; clearer DSL lifecycle signaling only. - Dependencies/Environment: - No new dependencies. - Verification: - DSL runner regression script passed. - Frontend build passed. Refs: - .where-agent-progress.md
[中文] - 变更内容: - close packaging consistency loop with release regression - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - close packaging consistency loop with release regression - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - land phase B/C baseline for interaction governance - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - land phase B/C baseline for interaction governance - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - extract i18n module and wire app composables - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - extract i18n module and wire app composables - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - split i18n locales and wire proxy capture composable - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - split i18n locales and wire proxy capture composable - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - virtualize proxy capture table rendering - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - virtualize proxy capture table rendering - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - virtualize log stream rendering - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - virtualize log stream rendering - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - throttle high-frequency app update paths - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - throttle high-frequency app update paths - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - add perf budget gate and interaction test matrix - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - add perf budget gate and interaction test matrix - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - wire settings state composable into app - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - wire settings state composable into app - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - split proxy capture table into subcomponent - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - split proxy capture table into subcomponent - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - split proxy capture details into subcomponent - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - split proxy capture details into subcomponent - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - extract proxy capture toolbar component - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - extract proxy capture toolbar component - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - extract proxy capture footer component - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - extract proxy capture footer component - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更内容: - add dropdown interaction regression tests - 影响范围: - 详见本次提交改动文件 - 兼容性/行为变化: - 无破坏性接口变更(如有以代码为准) - 依赖/环境: - 无新增依赖(如有以代码为准) - 验证: - 已完成对应构建/测试(如有以提交记录为准) Refs: - 无 [English] - Changes: - add dropdown interaction regression tests - Impact: - See files changed in this commit - Compatibility/Behavior changes: - No breaking API changes (unless code indicates otherwise) - Dependencies/Environment: - No new dependencies (unless code indicates otherwise) - Verification: - Relevant build/tests executed where applicable Refs: - N/A
[中文] - 变更: 新增 vectors.yaml 执行器与 CLI 回归入口. - 影响: 协议包可独立做向量回归. - 兼容性/行为变化: 新增工具脚本, 不影响主流程. - 依赖/环境: Python + PyYAML. - 验证: py_compile 通过. [English] - Changes: Added vectors.yaml executor and CLI regression runner. - Impact: Protocol packages can run standalone vector regression. - Compatibility/Behavior changes: Adds tooling without changing main flow. - Dependencies/Environment: Python + PyYAML. - Verification: py_compile passed. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 modbus_rtu_pkg 与 xmodem_pkg 示例协议包. - 影响: 提供可复用的外置协议包参考实现. - 兼容性/行为变化: 无破坏性变更. - 依赖/环境: 无新增系统依赖. - 验证: 示例 impl.py 编译通过. [English] - Changes: Added modbus_rtu_pkg and xmodem_pkg external examples. - Impact: Provides reusable external protocol package references. - Compatibility/Behavior changes: No breaking change. - Dependencies/Environment: No new system dependency. - Verification: Example impl.py compilation passed. Refs: - .where-agent-progress.md
[中文] - 变更: WebBridge 协议列表改为外置协议包来源, 新增 call_protocol. - 影响: 前端协议能力与后端外置模型对齐. - 兼容性/行为变化: UI 自定义协议编辑入口改为只读拒绝. - 依赖/环境: 需存在可加载的外置协议包目录. - 验证: py_compile 通过. [English] - Changes: Switched WebBridge protocol list source to external packages and added call_protocol. - Impact: Frontend protocol behavior aligns with external-package model. - Compatibility/Behavior changes: UI custom protocol edit path is read-only rejected. - Dependencies/Environment: Requires a loadable external package directory. - Verification: py_compile passed. Refs: - .where-agent-progress.md
[中文] - 变更: 网关统一错误码映射并增加调用审计日志. - 影响: 调用失败可观测性和可诊断性增强. - 兼容性/行为变化: 错误返回更结构化. - 依赖/环境: Python + PyYAML. - 验证: py_compile 通过. [English] - Changes: Unified gateway error mapping and added call audit logs. - Impact: Better observability and diagnostics on failures. - Compatibility/Behavior changes: Error payload becomes more structured. - Dependencies/Environment: Python + PyYAML. - Verification: py_compile passed. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 protocol_package_test_suite.py 测试套件. - 影响: 覆盖加载/调用/异常/vectors 回归路径. - 兼容性/行为变化: 无运行时行为变化. - 依赖/环境: Python + PyYAML + venv. - 验证: 套件在 venv 执行通过. [English] - Changes: Added protocol_package_test_suite.py. - Impact: Covers load/call/error/vectors regression paths. - Compatibility/Behavior changes: No runtime behavior change. - Dependencies/Environment: Python + PyYAML + venv. - Verification: Suite passed in venv. Refs: - .where-agent-progress.md
[中文] - 变更: 新增开发指南、包模板、迁移说明文档. - 影响: 降低外置协议包开发与迁移门槛. - 兼容性/行为变化: 文档变更, 无代码行为变化. - 依赖/环境: 无. - 验证: 文档路径与内容已检查. [English] - Changes: Added developer guide, package template, and migration docs. - Impact: Lowers onboarding cost for package development and migration. - Compatibility/Behavior changes: Docs-only change. - Dependencies/Environment: None. - Verification: Document paths and content checked. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 v0.3 发布冻结清单与回归结论. - 影响: 固化发布范围、关键提交与验证结果. - 兼容性/行为变化: 文档变更, 无代码行为变化. - 依赖/环境: 无. - 验证: 清单内容与回归命令已核对. [English] - Changes: Added v0.3 release freeze checklist and regression conclusion. - Impact: Freezes release scope, key commits, and verification results. - Compatibility/Behavior changes: Docs-only change. - Dependencies/Environment: None. - Verification: Checklist content and regression commands verified. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 Modbus 三外置包统一规范文档(数据模型/错误语义/边界). - 影响: 明确 RTU/ASCII/TCP 三包职责与统一 request/response 契约. - 兼容性/行为变化: 文档变更, 无运行时行为变化. - 依赖/环境: 无. - 验证: where 计划状态与归档文件已同步. [English] - Changes: Added unified Modbus three-package spec (model/error semantics/boundaries). - Impact: Clarifies RTU/ASCII/TCP responsibilities and common request/response contract. - Compatibility/Behavior changes: Docs-only change. - Dependencies/Environment: None. - Verification: where plan status and archive file synced. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 Modbus 公共 PDU 编解码模块并接入 modbus_rtu_pkg. - 变更: RTU 包支持 FC03/04/05/06/15/16 与异常响应解析. - 变更: 网关支持透传 MODBUS_* 异常码前缀. - 影响: RTU 协议包从示例升级为可用于生产测试流程的全功能实现. - 兼容性/行为变化: RTU 请求模型统一为 op/unit_id/address/quantity|value|values. - 依赖/环境: Python + PyYAML. - 验证: modbus_rtu vectors 4/4 通过, protocol_package_test_suite 通过. [English] - Changes: Added shared Modbus PDU codec and integrated it into modbus_rtu_pkg. - Changes: RTU package now supports FC03/04/05/06/15/16 plus exception response parsing. - Changes: Gateway now forwards MODBUS_* prefixed error codes from exceptions. - Impact: RTU package is upgraded from demo-level to full-feature flow usage. - Compatibility/Behavior changes: RTU request model is unified as op/unit_id/address/quantity|value|values. - Dependencies/Environment: Python + PyYAML. - Verification: modbus_rtu vectors 4/4 passed and protocol_package_test_suite passed. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 modbus_ascii_pkg(protocol.yaml/impl.py/README.md/vectors.yaml). - 变更: 复用公共 PDU 编解码, 实现 ASCII 帧与 LRC 校验. - 影响: Modbus ASCII 可通过 YAML-DSL protocol step 直接调用. - 兼容性/行为变化: 新增外置协议包, 不影响现有包. - 依赖/环境: Python + PyYAML. - 验证: modbus_ascii vectors 4/4 通过, protocol_package_test_suite 通过. [English] - Changes: Added modbus_ascii_pkg with protocol.yaml/impl.py/README.md/vectors.yaml. - Changes: Reused shared PDU codec and implemented ASCII framing with LRC validation. - Impact: Modbus ASCII is callable directly from YAML-DSL protocol steps. - Compatibility/Behavior changes: Adds a new external package without breaking existing ones. - Dependencies/Environment: Python + PyYAML. - Verification: modbus_ascii vectors 4/4 passed and protocol_package_test_suite passed. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 modbus_tcp_pkg(protocol.yaml/impl.py/README.md/vectors.yaml). - 变更: 实现 MBAP 头处理(transaction_id/protocol_id/length/unit_id)与统一 PDU 解析. - 影响: Modbus TCP 可通过 YAML-DSL protocol step 直接调用. - 兼容性/行为变化: 新增外置协议包, 不影响现有包. - 依赖/环境: Python + PyYAML. - 验证: modbus_tcp vectors 4/4 通过, protocol_package_test_suite 通过. [English] - Changes: Added modbus_tcp_pkg with protocol.yaml/impl.py/README.md/vectors.yaml. - Changes: Implemented MBAP handling (transaction_id/protocol_id/length/unit_id) with shared PDU parsing. - Impact: Modbus TCP is callable directly from YAML-DSL protocol steps. - Compatibility/Behavior changes: Adds a new external package without breaking existing ones. - Dependencies/Environment: Python + PyYAML. - Verification: modbus_tcp vectors 4/4 passed and protocol_package_test_suite passed. Refs: - .where-agent-progress.md
[中文] - 变更: 向量执行器支持嵌套期望子集匹配, 三个 Modbus 包补齐异常/超时/校验失败/边界值用例. - 变更: 新增 RTU/ASCII/TCP 三套 YAML-DSL 示例脚本. - 变更: 回归套件扩展覆盖 modbus_ascii 与 modbus_tcp. - 变更: 前后端协议分类细化为 modbus-rtu/modbus-ascii/modbus-tcp 并更新相关测试. - 影响: Modbus 三包可见性、可回归性和示例可用性显著提升. - 兼容性/行为变化: 协议管理页分类标签调整; 其他行为保持兼容. - 依赖/环境: Python + PyYAML, 前端 vitest 环境. - 验证: 三包 vectors 全通过, protocol_package_test_suite 通过, 前端相关测试通过. [English] - Changes: Added nested subset expectation matching in vector runner and expanded vectors for all three Modbus packages (exception/timeout/checksum/boundary). - Changes: Added three YAML-DSL examples for RTU/ASCII/TCP flows. - Changes: Extended regression suite coverage to modbus_ascii and modbus_tcp. - Changes: Refined frontend/backend protocol categories to modbus-rtu/modbus-ascii/modbus-tcp with test updates. - Impact: Better visibility, regression coverage, and example usability for Modbus packages. - Compatibility/Behavior changes: Protocol manager tab categories updated; other behavior remains compatible. - Dependencies/Environment: Python + PyYAML and frontend vitest environment. - Verification: All three vectors passed, protocol_package_test_suite passed, frontend targeted tests passed. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 Modbus 三包使用指南(选型/统一模型/错误语义/迁移建议). - 变更: 新增 Modbus 三包发布冻结清单与回归结果. - 影响: Modbus 三包可发布性文档闭环完成. - 兼容性/行为变化: 文档变更, 无运行时行为变化. - 依赖/环境: 无. - 验证: where 状态收口完成, 回归结果已记录. [English] - Changes: Added Modbus three-package guide (selection/unified model/error semantics/migration). - Changes: Added Modbus three-package release freeze checklist with regression results. - Impact: Documentation closure for release readiness is completed. - Compatibility/Behavior changes: Docs-only change. - Dependencies/Environment: None. - Verification: where plan closed and regression outcomes documented. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 at_command_pkg(protocol.yaml/impl.py/README.md/vectors.yaml). - 变更: 支持 AT send/recv/rpc、多行回显解析、OK/ERROR 终态、超时与 expect 校验. - 变更: 新增 AT YAML-DSL 示例脚本并把 at_command 纳入统一回归套件. - 变更: 网关错误码映射新增 AT_/YMODEM_/SCPI_ 前缀透传. - 影响: 阶段 1(AT 包)能力可直接用于串口调试与自动化脚本. - 兼容性/行为变化: 新增协议包与示例, 不影响现有协议包行为. - 依赖/环境: Python + PyYAML. - 验证: at_command vectors 8/8 通过, protocol_package_test_suite 通过. [English] - Changes: Added at_command_pkg with protocol.yaml/impl.py/README.md/vectors.yaml. - Changes: Supports AT send/recv/rpc, multi-line response parsing, OK/ERROR terminal status, timeout, and expect checks. - Changes: Added AT YAML-DSL example and included at_command in unified regression suite. - Changes: Gateway error mapping now forwards AT_/YMODEM_/SCPI_ prefixed errors. - Impact: Phase 1 (AT package) is ready for serial debugging and automation flows. - Compatibility/Behavior changes: Adds new package and examples without breaking existing packages. - Dependencies/Environment: Python + PyYAML. - Verification: at_command vectors 8/8 passed and protocol_package_test_suite passed. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 ymodem_pkg(protocol.yaml/impl.py/README.md/vectors.yaml). - 变更: 实现握手、头包、分包发送、NAK 重传、EOT 收尾流程. - 变更: 新增 YMODEM YAML-DSL 示例脚本并将 ymodem 纳入统一回归套件. - 影响: 阶段 2(YMODEM 包)可用于固件下发自动化流程. - 兼容性/行为变化: 新增协议包与示例, 不影响现有协议包行为. - 依赖/环境: Python + PyYAML. - 验证: ymodem vectors 8/8 通过, protocol_package_test_suite 通过. [English] - Changes: Added ymodem_pkg with protocol.yaml/impl.py/README.md/vectors.yaml. - Changes: Implemented handshake, header/data packets, NAK retry, and EOT close sequence. - Changes: Added YMODEM YAML-DSL example and included ymodem in unified regression suite. - Impact: Phase 2 (YMODEM package) is ready for firmware transfer automation flows. - Compatibility/Behavior changes: Adds a new package and examples without breaking existing packages. - Dependencies/Environment: Python + PyYAML. - Verification: ymodem vectors 8/8 passed and protocol_package_test_suite passed. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 scpi_pkg(protocol.yaml/impl.py/README.md/vectors.yaml). - 变更: 实现 SCPI write/query、多行响应解析、CSV 标量解析、expect 断言与超时处理. - 变更: 新增 SCPI YAML-DSL 示例脚本并将 scpi 纳入统一回归套件. - 影响: 阶段 3(SCPI 包)可用于仪器自动化采集与控制流程. - 兼容性/行为变化: 新增协议包与示例, 不影响现有协议包行为. - 依赖/环境: Python + PyYAML. - 验证: scpi vectors 8/8 通过, protocol_package_test_suite 通过. [English] - Changes: Added scpi_pkg with protocol.yaml/impl.py/README.md/vectors.yaml. - Changes: Implemented SCPI write/query, multi-line response parsing, CSV scalar parsing, expect checks, and timeout handling. - Changes: Added SCPI YAML-DSL example and included scpi in unified regression suite. - Impact: Phase 3 (SCPI package) is ready for instrument automation flows. - Compatibility/Behavior changes: Adds a new package and examples without breaking existing packages. - Dependencies/Environment: Python + PyYAML. - Verification: scpi vectors 8/8 passed and protocol_package_test_suite passed. Refs: - .where-agent-progress.md
[中文] - 变更: 新增 v0.4 协议包扩展指南(AT/YMODEM/SCPI 选型、使用、迁移、回归命令). - 变更: 新增 v0.4 发布冻结清单并记录回归结果. - 影响: 阶段 4 文档与发布收口完成. - 兼容性/行为变化: 文档变更, 无运行时行为变化. - 依赖/环境: 无. - 验证: 三包 vectors 与 protocol_package_test_suite 均通过. [English] - Changes: Added v0.4 protocol package expansion guide (AT/YMODEM/SCPI selection, usage, migration, regression commands). - Changes: Added v0.4 release freeze checklist with regression outcomes. - Impact: Phase 4 documentation and release closure are complete. - Compatibility/Behavior changes: Docs-only change. - Dependencies/Environment: None. - Verification: All three vectors and protocol_package_test_suite passed. Refs: - .where-agent-progress.md
[中文] - 变更内容: - 新增代理监控特性开关,默认关闭但保留完整代码路径(后端/桥接/前端启动读取) - 启动入口按配置或环境变量决定是否启用 ProxyForwardManager - WebBridge 在关闭时隔离代理 API/事件订阅/会话恢复 - 修复过期回归脚本:script_runner 回归迁移到 v0.1 DSL,config_persistence 去除已下线 custom protocol 用例 - App 主流程移除代理抓包运行态耦合,保留功能代码以便后续恢复 - 更新 where 计划;新增 runs 产物忽略;配置文件补齐 proxy_monitor_enabled 默认值 - 影响范围: - app/main_web.py - ui/desktop/web_window.py - ui/desktop/web_bridge.py - ui/frontend/src/App.vue - ui/frontend/src/composables/useBridgeBootstrap.ts(.test.ts) - scripts/script_runner_regression.py - scripts/config_persistence_regression.py - config/app.yaml - .where-agent-progress.md - .gitignore - 兼容性/行为变化: - 默认行为变为“代理监控不开放”;设置 app.proxy_monitor_enabled=true 或 PROTOFLOW_ENABLE_PROXY_MONITOR=1 可恢复 - 依赖/环境: - 无新增依赖;开关配置支持 YAML 与环境变量 [English] - Changes: - Added feature-gated proxy monitor flow with default disabled while keeping full code paths intact. - Startup now conditionally creates ProxyForwardManager from config/env. - WebBridge isolates proxy APIs/event subscriptions/session restore when disabled. - Updated stale regressions: migrated script_runner regression to v0.1 DSL and removed deprecated custom protocol persistence checks. - Decoupled App runtime state from proxy capture path while preserving recoverability. - Updated where plan, ignored runs artifacts, and set default proxy flag in config. - Impact: - Runtime bootstrap, desktop bridge/window, frontend bootstrap path, regression scripts, config/progress metadata. - Compatibility / Behavior Changes: - Proxy monitor is disabled by default; can be re-enabled via app.proxy_monitor_enabled=true or PROTOFLOW_ENABLE_PROXY_MONITOR=1. - Dependencies / Environment: - No new dependency; feature flag is controlled by YAML config or environment variable.
[中文] - 变更内容: - 前端交互验收脚本新增代理监控开关分流 - 默认模式下不执行 proxy 组件/文档断言,避免对未开放功能产生噪音 - 设置 PROTOFLOW_ENABLE_PROXY_MONITOR=1 时恢复 proxy 相关断言 - 同步 where 计划为完成状态 - 影响范围: - ui/frontend/scripts/interaction_acceptance.mjs - .where-agent-progress.md - 兼容性/行为变化: - 验收策略从“始终校验代理”变为“按开关校验代理” - 依赖/环境: - 无新增依赖;使用环境变量 PROTOFLOW_ENABLE_PROXY_MONITOR 控制 [English] - Changes: - Added feature-flag branching to frontend interaction acceptance checks. - Proxy-related component/doc assertions are skipped by default to match closed feature state. - Proxy assertions are re-enabled when PROTOFLOW_ENABLE_PROXY_MONITOR=1. - Marked optional where-plan item as done. - Impact: - ui/frontend/scripts/interaction_acceptance.mjs and progress tracking file. - Compatibility / Behavior Changes: - Acceptance behavior now validates proxy interactions only when the feature flag is enabled. - Dependencies / Environment: - No new dependency; controlled via PROTOFLOW_ENABLE_PROXY_MONITOR env var.
[中文] - 变更内容: - 新增 v0.2 全功能 YAML 示例脚本,覆盖 profile/import/template/send/expect/capture/if/loop/parse/path/measure/assert_range/switch_session/protocol/exec/file/retry/on_fail/artifacts - 脚本内置可选协议包调用开关,默认关闭,便于在未接入目标设备时先验证基础流程 - 已通过 parse_script 语法解析校验 - 影响范围: - docs/examples/v02/full_feature_workbench.yaml - 兼容性/行为变化: - 仅新增示例,不影响运行时行为 - 依赖/环境: - 若启用 protocol.* 步骤需存在 protocols 目录并包含对应外置协议包 [English] - Changes: - Added a full-feature YAML-DSL v0.2 workbench example covering profile/import/template/send/expect/capture/if/loop/parse/path/measure/assert_range/switch_session/protocol/exec/file/retry/on_fail/artifacts. - Added an optional protocol package execution switch (disabled by default) for easier baseline runs. - Validated by parser-level schema check via parse_script. - Impact: - docs/examples/v02/full_feature_workbench.yaml - Compatibility / Behavior Changes: - Documentation/example only; no runtime behavior change. - Dependencies / Environment: - protocol.* steps require external protocol packages in the configured protocols directory.
[中文] - 变更内容: - 新增独立靶机模块 tools/target_emulator(与主软件解耦) - 实现场景加载器与场景模型(规则匹配、延时、丢包、一次性规则、fallback) - 实现靶机核心循环与产物导出(raw_log.jsonl + summary.json) - 支持 serial/tcp 运行模式,并提供 mock 双端口用于回归 - 新增靶机 CLI、mock 回归脚本、串口一键联调脚本 - 新增 AT/SCPI/升级窗口标准场景与 DSL 联调示例 - 新增靶机使用文档并更新 where 计划进度 - 影响范围: - tools/target_emulator/* - scripts/target_emulator.py - scripts/target_emulator_regression.py - scripts/run_target_with_dsl.ps1 - scripts/examples/target_at_smoke_v02.yaml - docs/TARGET_EMULATOR_GUIDE.md - .where-agent-progress.md - 兼容性/行为变化: - 新增功能,不改变现有主流程行为 - 依赖/环境: - serial 模式依赖 pyserial;com2com 场景需本机已创建虚拟串口对 [English] - Changes: - Added standalone target emulator toolkit under tools/target_emulator, fully decoupled from app runtime. - Implemented scenario schema + loader (rule match, delay, drop, once, fallback). - Implemented emulator core loop and artifacts export (raw_log.jsonl + summary.json). - Added serial/tcp modes and mock duplex transport for regression. - Added emulator CLI, mock regression script, and one-click serial integration script. - Added baseline scenarios (AT/SCPI/upgrade-window) and DSL smoke example. - Added emulator guide and synced where plan progress. - Impact: - New toolkit, scripts, scenarios, docs, and progress tracking. - Compatibility / Behavior Changes: - Additive only; no behavior change to existing application flows. - Dependencies / Environment: - Serial mode requires pyserial; com2com usage requires a pre-created virtual COM pair.
…fault matrix [中文] - 变更内容: - 靶机响应能力增强:支持 jitter_ms、chunk_bytes、chunk_interval_ms,用于抖动与分片注入 - 新增故障注入场景 fault_injection_matrix(drop/jitter/chunk/close) - 新增故障回归脚本 target_emulator_fault_regression.py - 新增统一回归入口 runtime_regression_suite.py,串联 DSL/Runner/Config/Target 回归 - 新增靶机通过判据文档 TARGET_EMULATOR_PASS_CRITERIA.md,并更新指南 - 同步 where 阶段状态(阶段3完成) - 影响范围: - tools/target_emulator/core.py - tools/target_emulator/models.py - tools/target_emulator/scenario_loader.py - tools/target_emulator/scenarios/fault_injection_matrix.yaml - scripts/target_emulator_fault_regression.py - scripts/runtime_regression_suite.py - docs/TARGET_EMULATOR_PASS_CRITERIA.md - docs/TARGET_EMULATOR_GUIDE.md - .where-agent-progress.md - 兼容性/行为变化: - 新增故障注入与回归入口,不改变既有功能路径 - 依赖/环境: - 无新增第三方依赖 [English] - Changes: - Enhanced emulator response model with jitter_ms, chunk_bytes, and chunk_interval_ms for deterministic fault injection. - Added fault injection scenario matrix (drop/jitter/chunk/close). - Added target_emulator_fault_regression.py. - Added runtime_regression_suite.py to aggregate DSL/runner/config/target regressions. - Added pass criteria document and updated emulator guide. - Updated where progress to mark stage-3 completion. - Impact: - Emulator core/model/loader, fault scenarios, regression scripts, and docs. - Compatibility / Behavior Changes: - Additive changes only; no behavior impact to existing application flow. - Dependencies / Environment: - No new external dependencies.
…ssets [中文] - 变更内容: - 新增 target-emulator 专属 CI 工作流(mock 快速回归 + Windows 夜间虚拟串口入口) - 新增夜间虚拟串口回归脚本 nightly_virtual_serial_regression.ps1(未配置端口时自动跳过) - 新增 CI 分层策略文档 TARGET_EMULATOR_CI_STRATEGY.md - 新增基线冻结脚本 freeze_target_baseline.py - 生成并归档 v0.1 基线报告样例(json+md) - 更新 TARGET_EMULATOR_GUIDE 与 where 计划,阶段全部完成 - 影响范围: - .github/workflows/target-emulator-ci.yml - scripts/nightly_virtual_serial_regression.ps1 - scripts/freeze_target_baseline.py - docs/TARGET_EMULATOR_CI_STRATEGY.md - docs/target-emulator-baseline/v0.1/* - docs/TARGET_EMULATOR_GUIDE.md - .where-agent-progress.md - 兼容性/行为变化: - 新增 CI 与文档资产,不改变既有运行时行为 - 依赖/环境: - 夜间虚拟串口回归依赖仓库变量 TARGET_HOST_PORT / TARGET_DEVICE_PORT [English] - Changes: - Added dedicated target-emulator CI workflow with layered jobs (fast mock + nightly Windows virtual-serial entry). - Added nightly_virtual_serial_regression.ps1 (auto-skip when ports are not configured). - Added CI strategy documentation. - Added baseline freeze script and archived v0.1 baseline report samples (json+md). - Updated emulator guide and marked where plan fully completed. - Impact: - CI workflow, baseline scripts/reports, docs, and progress tracking. - Compatibility / Behavior Changes: - Additive infra/docs updates only; no runtime behavior change. - Dependencies / Environment: - Nightly virtual-serial regression expects repo vars TARGET_HOST_PORT and TARGET_DEVICE_PORT.
… test model assets [中文] - 变更内容: - 新增靶机驱动的 YAML-DSL 全功能回归脚本,覆盖基础通信、控制流、数据解析、受控执行与协议包 rpc - 新增 retry_expect_window 场景,用于验证 expect 重试命中路径 - 将全功能靶机回归接入统一 runtime 回归入口 - 完成阶段0测试资产:覆盖矩阵、目录/命名规范、统一结果模型 schema 与结果聚合脚本 - 按要求将测试数据改为不跟踪:忽略 tmp 与 docs/target-emulator-baseline,并移除已跟踪基线报告文件 - 同步 where 阶段0为完成 - 影响范围: - scripts/yaml_dsl_target_full_regression.py - tools/target_emulator/scenarios/retry_expect_window.yaml - scripts/runtime_regression_suite.py - docs/YAML_DSL_PROTOCOL_TEST_MATRIX.md - docs/YAML_DSL_PROTOCOL_TEST_CONVENTIONS.md - scripts/test_result_schema.json - scripts/collect_regression_reports.py - .gitignore - docs/target-emulator-baseline/v0.1/* (stop tracking) - .where-agent-progress.md - 兼容性/行为变化: - 新增回归与测试规范,不改变运行时功能语义 - 依赖/环境: - 无新增依赖;测试产物默认写入 runs/tmp(均已忽略) [English] - Changes: - Added a target-driven full YAML-DSL regression script covering communication basics, control flow, data parsing, controlled exec/file, and protocol rpc. - Added retry_expect_window scenario to validate expect-retry hit behavior. - Integrated the new full target regression into runtime_regression_suite. - Completed phase-0 test assets: coverage matrix, naming/directory conventions, unified result schema, and report collector. - Switched test data to untracked mode by ignoring tmp and docs/target-emulator-baseline, and untracking previously committed baseline reports. - Updated where plan with phase-0 completion. - Impact: - Runtime regression scripts, target scenarios, testing docs/spec assets, git ignore policy, and where progress. - Compatibility / Behavior Changes: - Additive test/reliability improvements only; no runtime semantic change. - Dependencies / Environment: - No new dependencies; generated test artifacts are written to ignored paths (runs/tmp).
… entry [中文] - 变更内容: - 新增 scripts/yaml_dsl_capability_suite.py,覆盖 DSL 基础、控制流、数据、安全、产物能力回归。 - 修复 scripts/runtime_regression_suite.py 导入路径,支持直接脚本方式执行总回归入口。 - 更新 .where-agent-progress.md,将阶段 1 五项能力覆盖任务标记为完成。 - 影响范围: - YAML-DSL 运行时回归测试入口与能力测试资产。 - 进度管理文件 where。 - 兼容性/行为变化: - 无运行时功能破坏;仅增强测试覆盖与入口稳定性。 - 依赖/环境: - 需使用项目 .venv(含 PyYAML)运行 Python 回归脚本。 [English] - Changes: - Added scripts/yaml_dsl_capability_suite.py to cover DSL foundation/control-flow/data/security/artifact regressions. - Fixed imports in scripts/runtime_regression_suite.py so the suite can run as a direct script. - Updated .where-agent-progress.md to mark all phase-1 DSL coverage tasks as done. - Impact: - YAML-DSL regression assets and runtime regression entrypoint. - Where progress tracking file. - Compatibility / Behavior Changes: - No runtime behavior break; improves test coverage and entrypoint robustness. - Dependencies / Environment: - Run regression scripts with project .venv (PyYAML required).
[中文] - 变更内容: - 修复 protocol 相关回归脚本直接执行时的路径导入问题(补充 ROOT/SCRIPTS_DIR 到 sys.path)。 - 将 protocol_package_test_suite 接入 runtime_regression_suite 一键入口。 - 更新 .where-agent-progress.md:阶段 2 协议包与 vectors 回归任务完成,阶段 4 一键总入口整合任务完成。 - 影响范围: - scripts/protocol_package_regression.py - scripts/protocol_package_test_suite.py - scripts/protocol_vectors_regression.py - scripts/runtime_regression_suite.py - .where-agent-progress.md - 兼容性/行为变化: - 无产品功能行为变化;提升回归脚本可执行性与总回归覆盖面。 - 依赖/环境: - 使用项目 .venv 运行 Python 回归脚本。 [English] - Changes: - Fixed import path bootstrap for protocol regression scripts when executed directly. - Integrated protocol_package_test_suite into runtime_regression_suite full entry. - Updated .where-agent-progress.md to mark phase-2 protocol/vector tasks and phase-4 full-entry integration as done. - Impact: - Protocol package regression scripts and runtime full-regression pipeline. - Where progress tracking file. - Compatibility / Behavior Changes: - No product runtime behavior change; improves regression executability and coverage. - Dependencies / Environment: - Run Python regressions with project .venv.
[中文] - 变更内容: - 扩展靶机场景 fault_injection_matrix,新增 timeout 与 reorder 故障规则。 - 增强 target_emulator_fault_regression 覆盖 drop/timeout/jitter/chunk/reorder/close 六类故障。 - 新增 yaml_dsl_fault_injection_regression,验证 YAML-DSL 在故障场景下的联动行为(成功路径、超时失败路径、断连路径)。 - 将 yaml_dsl_fault_injection_regression 接入 runtime_regression_suite 一键入口。 - 更新 .where-agent-progress.md,阶段 3 第一项任务标记完成。 - 影响范围: - scripts/target_emulator_fault_regression.py - scripts/yaml_dsl_fault_injection_regression.py - tools/target_emulator/scenarios/fault_injection_matrix.yaml - scripts/runtime_regression_suite.py - .where-agent-progress.md - 兼容性/行为变化: - 无产品功能行为变化;仅扩展测试与故障注入覆盖。 - 依赖/环境: - 使用项目 .venv 运行回归脚本。 [English] - Changes: - Extended fault_injection_matrix with timeout and reorder rules. - Expanded target_emulator_fault_regression to cover drop/timeout/jitter/chunk/reorder/close. - Added yaml_dsl_fault_injection_regression to validate YAML-DSL behavior under injected faults. - Integrated yaml_dsl_fault_injection_regression into runtime_regression_suite full entry. - Updated .where-agent-progress.md to mark phase-3 fault matrix task as done. - Impact: - Fault-injection scenarios and YAML-DSL regression pipeline. - Runtime full-regression entrypoint and progress tracking. - Compatibility / Behavior Changes: - No product runtime behavior change; regression coverage increased. - Dependencies / Environment: - Run regressions with project .venv.
[中文] - 变更内容: - 新增组合场景靶机配置 combo_upgrade_config,覆盖升级、参数写入、版本读取链路。 - 新增 yaml_dsl_combo_regression,验证升级+写入+校验+报告导出的组合流程。 - 新增 yaml_dsl_stability_regression,提供循环长稳、SN 一致性与内存增量检查。 - 新增 yaml_dsl_performance_baseline,输出平均耗时、P95、重试成本与日志吞吐基线。 - 将以上三个回归入口接入 runtime_regression_suite。 - 更新 .where-agent-progress.md,将阶段 3 三项任务标记完成。 - 影响范围: - scripts/runtime_regression_suite.py - scripts/yaml_dsl_combo_regression.py - scripts/yaml_dsl_stability_regression.py - scripts/yaml_dsl_performance_baseline.py - tools/target_emulator/scenarios/combo_upgrade_config.yaml - .where-agent-progress.md - 兼容性/行为变化: - 无产品功能行为变化;扩展回归覆盖和基线能力。 - 依赖/环境: - 需使用项目 .venv 运行回归脚本。 [English] - Changes: - Added combo_upgrade_config target scenario to cover upgrade + param write + version read flow. - Added yaml_dsl_combo_regression for combined end-to-end validation with report export. - Added yaml_dsl_stability_regression for loop stability, SN consistency, and memory delta checks. - Added yaml_dsl_performance_baseline for avg/p95 latency, retry cost, and log throughput baselines. - Integrated the three suites into runtime_regression_suite. - Updated .where-agent-progress.md to mark all phase-3 tasks done. - Impact: - Runtime regression pipeline and target-emulator scenarios. - Where progress tracking. - Compatibility / Behavior Changes: - No product runtime behavior changes; regression coverage and observability expanded. - Dependencies / Environment: - Run regressions with project .venv.
[中文] - 变更内容: - 新增 GitHub Actions 工作流 .github/workflows/yaml-dsl-regression.yml,落地 PR Fast / Nightly Full / Weekly Soak 三层执行。 - 新增发布门禁文档 docs/YAML_DSL_RELEASE_GATE.md,定义 100% 通过率、关键路径零回归、基线归档要求。 - 新增 CI 分层说明 docs/YAML_DSL_TEST_CI_TIERS.md,明确触发策略、入口脚本与通过条件。 - 新增测试文档冻结记录 docs/YAML_DSL_TEST_FREEZE_20260306.md,固化矩阵/故障注入/排障/限制信息。 - 更新 docs/YAML_DSL_PROTOCOL_TEST_CONVENTIONS.md 的 CI 映射。 - 更新 .where-agent-progress.md,将阶段 4 剩余三项任务标记完成。 - 影响范围: - .github/workflows/yaml-dsl-regression.yml - docs/YAML_DSL_RELEASE_GATE.md - docs/YAML_DSL_TEST_CI_TIERS.md - docs/YAML_DSL_TEST_FREEZE_20260306.md - docs/YAML_DSL_PROTOCOL_TEST_CONVENTIONS.md - .where-agent-progress.md - 兼容性/行为变化: - 无运行时功能变化;新增 CI 与发布流程约束。 - 依赖/环境: - CI 运行依赖 requirements.txt。 [English] - Changes: - Added .github/workflows/yaml-dsl-regression.yml with three-tier execution: PR Fast, Nightly Full, Weekly Soak. - Added docs/YAML_DSL_RELEASE_GATE.md to define release gates (100% pass, zero key-path regression, baseline archiving). - Added docs/YAML_DSL_TEST_CI_TIERS.md to describe triggers, script entries, and pass criteria. - Added docs/YAML_DSL_TEST_FREEZE_20260306.md to freeze matrix/fault-injection/troubleshooting/limitations docs. - Updated CI mapping in docs/YAML_DSL_PROTOCOL_TEST_CONVENTIONS.md. - Updated .where-agent-progress.md to mark remaining phase-4 tasks as done. - Impact: - CI workflow and YAML-DSL quality gate documentation. - Progress tracking. - Compatibility / Behavior Changes: - No runtime behavior changes; introduces CI and release process constraints. - Dependencies / Environment: - CI installs dependencies from requirements.txt.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.